#pragma once
#include "GameObject.h"
#include "Camera.h"
#include <vector>
#include <string>

using namespace std;

namespace DYEngine
{
	class Scene
	{
	public:
		Scene();
		Scene(const std::string& pName);
		void AddNode(GameObject* pNode);
		void Destroy();
		virtual ~Scene();
	public:
		GameObject* GetRootNode() { return &mRootNode; }
		Camera* GetCamera() const { return mCamera; }
	public:
		static void SetCurrentScene(Scene* scene);
		static Scene* GetCurrentScene();
	protected:
		Camera* mCamera;
		GameObject mRootNode;
		std::string name;
	};
}